
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;

using System.Collections.Generic;
using System.Text;
using System.Drawing;

public partial class Reporte_GMapsActividad : PageController
{

    public String  cadena = "";

    ActividadReporteBean actividadReporte = null;
 

    protected override void initialize()
    {

        if (!IsPostBack)
        {
           String idActividadResumen = Request.QueryString["idactividadResumen"].ToString().Trim();

           actividadReporte = DBActividad.getActividadGPSPK(idActividadResumen);

      
            if (actividadReporte != null)
            {
                hidActividad.Value = actividadReporte.codigoactividad;
                hidUsuario.Value = actividadReporte.codigousuario;
                hidFecha.Value = actividadReporte.fechainiciorealizado;

                //Datos de cabecera
                lblNomUsuario.Text = actividadReporte.nombreusuario;
                lblFechaReporte.Text = StringUtils.getFechaActual();
                lblTipoActividad.Text = actividadReporte.tipoactividad;

                lblActividad.Text = actividadReporte.nombreactividad;
                lblEstado.Text = actividadReporte.nombreestado;
                //lblDuracion.Text = actividadReporte.duracion;

                lblInicioRealizado.Text = actividadReporte.fechainiciorealizado;
                lblFinRealizado.Text = actividadReporte.fechafinrealizado;

                lblNumEstados.Text = actividadReporte.CANTIDADESTADO.ToString();
                lblNumEstadosRealizados.Text = actividadReporte.CANTIDADESTADOREALIZADO.ToString();

                cadena = dibujarMapa( );

            }

        }

    }

    private String dibujarMapa()
    {

        String codigousuario = actividadReporte.codigousuario;
        String fecha = actividadReporte.fechainiciorealizado;
        String actividad = actividadReporte.codigoactividad;

        List<FotoDato> listaFoto = null;
        StringBuilder xml = new StringBuilder();

        List<RegistroTrackBean> lista = DBActividad.findActividadMapaBean(codigousuario, fecha, actividad);

        if (lista != null && lista.Count > 0)
        {
            listaFoto = DBActividad.getActividadFotosReporte(actividadReporte);

            Int64 i = 0;
            foreach (RegistroTrackBean bean in lista)
            {

                //List<FotoDato> listaTemp = listaFoto.FindAll(
                //    delegate(FotoDato beantemp)
                //    {
                //        return beantemp.codigousuario == codigousuario && beantemp.FechaFoto == bean.fechamovil;
                //    });

                string var = i == 0 ? "" : ";";

                xml.Append(String.Format(var + "{0}|{1}|{2}|{3}|{4}|{5}|{6}|{7}",
                   Tarea.borraBarraComa(bean.latitud), //0
                   Tarea.borraBarraComa(bean.longitud), //1
                   Tarea.borraBarraComa(bean.nombreactividad), //2
                   Tarea.borraBarraComa(bean.nombreestado), //3
                   Tarea.borraBarraComa(bean.fechamovil), //4
                   Tarea.borraBarraComa(bean.observacion), //5
                   Tarea.borraBarraComa(bean.motivoentrega), //6
                   Tarea.borraBarraComa(bean.asistencia)) //7
                );

                foreach (FotoDato fotoDato in listaFoto)
                {
                    xml.Append("|").Append(fotoDato.IdFoto);
                }

                i++;
            }
        }

        return xml.ToString();

    }

}
